In the last decade, there has been an explosive growth in the number and variety of non-telephony telecommunication communication pathways available to businesses and consumers. Examples include instant messaging, and browser-based approaches, such as Internet chat and two-way video. Because these are non-telephony Internet implementations, they are missing many of the benefits of the control, coordination, and signaling functions that are present in telephone networks.
Many problems are created by the absence of a unifying control, coordination, and signaling mechanisms for non-telephony Internet-based telecommunication. An obvious problem is that, because there is no linkage among the different telecommunication methods (examples of which include instant messaging, web chat, social networks, Short Message Service (“SMS”) applications, web-based video conferencing, and “Twitter”) and signaling and bearer traffic use different communication paths, users are burdened with needing to track manually and synchronize the use of the different methods. Tracking and synchronizing include coordinating the simultaneous use of different independent communication pathways, each of which may identify the other parties by a different method-specific address.
Other problems arise with Internet-based telecommunication solutions because of the need to traverse heterogeneous networks across secure/managed network boundaries. A very broad variety of equipment and practices are used to build the Internet itself and also inter-network the Internet with and among the millions of the private intranets owned by companies, governments, and private citizens.
One problem is known as the Network Address Translation (“NAT”) traversal problem. As will be appreciated, “NAT” refers to an Internet standard that enables a Local Area Network (“LAN”) to use one set of IP addresses for internal traffic and a second set of addresses for external traffic. A NAT box located where the LAN meets the Internet makes all necessary IP Address translations. NAT serves three main purposes, namely to provide a type of firewall by hiding internal IP addresses, enable a company to use more internal IP addresses, and allow a company to combine multiple Integrated Services Digital Network (“ISDN”) connections into a single Internet connection. The inability of each session participant to know the internal IP addresses of the other participants can complicate session creation, management, and coordination.
Another problem arises from firewall restrictions. A firewall is a system designed to prevent unauthorized access to or from a private network. Firewalls can be implemented in both hardware and software, or a combination of both. Firewalls are frequently used to prevent unauthorized Internet users from accessing virtual private networks connected to the Internet, especially intranets. All messages entering or leaving the intranet pass through the firewall, which examines each message and blocks those that do not meet the specified security criteria. Common firewall techniques include packet filters (which examine each packet entering or leaving the network and accept or reject it based on user-defined rules), application gateways (which apply security mechanisms to specific applications, such as File Transfer Protocol (“FTP”) and Telnet servers), circuit-level gateways (which apply security mechanisms when a Transport Control Protocol (“TCP”) or User Datagram Protocol (“UDP”) connection is established), and proxy servers (which intercept all messages entering and leaving the network and effectively hides the true network addresses (such as by NAT)). Firewall restrictions may permit bearer traffic to pass from the Internet to the intranet but block control signaling traffic for the same session. Even when the firewall permits control signaling to pass, the latency required for the firewall to inspect and clear each packet can unacceptably disrupt real time sessions, such as instant messaging.
The result of all this heterogeneity, coupled with the firewall restrictions that are present in many network boundaries, is the near impossibility of being able to guarantee that a communication mechanism, that uses solely the Internet for signaling and bearer/media transport, will work reliably across multiple network boundary crossings independent of where it is connected to the broader global network.